Privacy aligned and personalized social media content sharing recommendations

ABSTRACT

Systems and methods are provided that facilitate selecting videos to share in a messaging session. A system is provided that includes an accessible data mining component configured to generate a first set of data associated with a messaging session between a user and one or more other user, the first set of data excluding data that is inaccessible to the user and comprising data that is accessible to the user, and an identification component configured to identify a set of media items based on the first set of data. An inaccessible data mining component is further configured to generate a second set of data comprising data that is inaccessible to the user but accessible to at least one of the one or more other users, and a recommendation component configured to recommend a subset of the set of media items to the user based on the second set of data.

TECHNICAL FIELD

This application generally relates to social media sharing and moreparticularly to systems, methods and computer readable media thatfacilitate identifying and recommending content for sharing in a socialsetting based on personal user preferences and privacy settings.

BACKGROUND

Consumers are increasing utilizing social platforms such as contentsharing websites and applications, blogs, and social networking websitesto share and discuss content on the Internet. This represents the socialmedia phenomenon, which can now significantly impact a business'sreputation, sales, and even survival. Not only do users share personalinformation such as their social backgrounds, their social statuses,opinions on various topics, private photographs and videos, etc., useralso share other content they find on the Web. For example, this othercontent can include links to multimedia (e.g., images, videos, soundfiles, etc.) provided by a media content provider, links to otherwebsites, links to other applications, lings to articles, links tocontent items available for purchase, links to advertisements, etc. Thistype of content sharing is highly encouraged by businesses and contentproviders because it provides a limitless, economical, and extremelyeffective mechanism to reach consumers.

In association with sharing content found online in a social setting,users generally share content that they endorse, like or otherwise findinteresting or are personally invested in. In addition, users sharecontent in social settings that they think their social peers or friendswill also endorse, like, find interesting, etc. Accordingly techniquesfor automatically identifying and suggesting content for users to sharethat is both personalized to a user's preferences, and likely to be wellreceived by the user's social peers, are highly valuable.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the presentinvention will be apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 illustrates an example system that facilitates identifying andrecommending content for sharing in a social setting based on personaluser preferences and privacy settings in accordance with various aspectsand embodiments described herein;

FIG. 2 presents example user interfaces associated with recommendingvideos to a user for sharing in association with a group messagingsession in accordance with various aspects and embodiments describedherein;

FIGS. 3A-3B presents example user interfaces associated with providingquery results with possible videos for sharing in association with agroup messaging session with selecting videos to share in a messagingapplication in accordance with various aspects and embodiments describedherein;

FIG. 4 illustrates another example system that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein;

FIG. 5 illustrates another example system that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein;

FIG. 6 illustrates another example system that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein;

FIG. 7 is a flow diagram of an example method for identifying andrecommending content for sharing in a social setting based on personaluser preferences and privacy settings in accordance with various aspectsand embodiments described herein;

FIG. 8 is a flow diagram of another example method for identifying andrecommending content for sharing in a social setting based on personaluser preferences and privacy settings in accordance with various aspectsand embodiments described herein;

FIG. 9 is a flow diagram of another example method for identifying andrecommending content for sharing in a social setting based on personaluser preferences and privacy settings in accordance with various aspectsand embodiments described herein;

FIG. 10 is a schematic block diagram illustrating a suitable operatingenvironment in accordance with various aspects and embodiments.

FIG. 11 is a schematic block diagram of a sample-computing environmentin accordance with various aspects and embodiments.

DETAILED DESCRIPTION

The innovation is described with reference to the drawings, wherein likereference numerals are used to refer to like elements throughout. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthis innovation. It may be evident, however, that the innovation can bepracticed without these specific details. In other instances, well-knownstructures and components are shown in block diagram form in order tofacilitate describing the innovation.

By way of introduction, the disclosed subject matter relates to socialmedia sharing and more particularly to systems, methods and computerreadable media that facilitate identifying and recommending content forsharing in a social setting based on personal user preferences andprivacy settings. Personalized content recommendations generally involveexamining a user's personal content consumption/interaction history withvarious types of content, such as content the user accesses or views,videos the user watches, content the user searches for, songs the userlistens to, content the user endorses (e.g., likes, favorites,subscribes to, etc.), content the user shares, etc. Presenting a userwith content recommended for sharing based on a user's personal contentconsumption history is generally considered non-invasive to the user'sprivacy because it does not reveal information about the user's personalcontent consumption/interaction history and preferences to others.

However, user studies have revealed that users find it extremelydisturbing when content recommendations provided to their social networkfriends or followers appear to reveal their private content endorsementand consumption history. In particular, users often associate accesscontrol lists with various types of possible user contentconsumption/interaction actions (e.g., accessing, viewing, watching,endorsing, sharing, etc.) that define and control who can access dataregarding the content consumption/interaction actions. Using a user'sprivate content consumption/interaction data to recommend content toanother in a manner that reveals the user's private contentconsumption/interaction data is an infringement of the user's accesscontrol settings.

For example, in a social setting involving a small group of userssharing videos with one another, if video recommendations provided to afirst user in the group are based on the watch history of a second userin the group, the first user will likely assume that the content videosbeing recommended to the first user was probably watched or endorsed byanother user in the group. If the second user in the group has electedto keep his or her watch history private, (e.g., via an access controlsetting the user has associated with his or her watch history), than thesecond user's personal privacy is invaded. For example, the second user,say his name is Michael, could be particularly embarrassed if the firstuser was recommended a video about a strange or embarrassing topic andthe first user shared it to the group with a remark asking “Who in theworld would ever watch this video! I bet it was you Michael!”

The subject matter of this disclosure provides techniques foridentifying content to recommend to a user for sharing in a socialsetting involving the user and one or more other users based on personalpreferences or content consumption/interaction history of the respectiveparticipants and privacy settings of the respective participants (e.g.,access control settings). In particular, the subject disclosure providestechniques for recommending content to a user for sharing in a socialsetting that elegantly leverages personal and private data regardingcontent interaction and consumption of other users without infringing onaccess control settings associated with the data.

The type of social setting or context can include any type of electroniccommunication forum wherein a group of two or more users can sharecontent or links to content (e.g., videos, songs, articles, webpages,goods for sale, etc.) that is accessible to the respective users in thegroup in via a network environment (e.g., the Internet). For example,the social setting can include but is not limited to: a group chat,(e.g., facilitated by a social networking system), a forum that allowstwo or more users to post content, a feed that compiles posted contentfrom two or more users, a Web based conferencing session, a groupmessaging session facilitated by a client application, or a groupmessaging session facilitated by a short messaging service.

In various exemplary embodiments, the social setting or context involvesa group messaging session or chatting session wherein the group membersshare, discuss, and/or watch videos provided by a streaming mediaprovider. In accordance with these embodiments, the disclosed contentrecommendation techniques are used to find and recommend other videos torespective users in the group, provided by the streaming media provider,for sharing during the group messaging or chatting session. However, itshould be appreciated that the various content recommendation techniquesdescribed herein can be applied to recommending other types of contentitems for sharing in a group environment provided by various other typesof content providers (e.g., pictures, sound files, articles, links towebpages, etc.).

In one or more embodiments, systems, methods and computer readable mediaare provided for creating an ordered list of content items, provided bya content provider, that are recommended for sharing by a userparticipating in a group messaging or communication session. The orderedlist of content items is based on filtering criteria including but notlimited to, preferences of the user and the other users, actions theuser and the other users have taken in association withconsuming/interacting with content provided by the content provider(e.g., viewing, watching, endorsing, sharing, etc.), and access controlsettings the user and the other users have associated with thoseactions. The filtering criteria can also include content discussedand/or shared via the messaging session, recency of publication of thecontent items, popularity of the content items with a wide userpopulation (e.g., all users of the content provider), etc.

Systems, methods and computer readable media are also provided forcreating search results including content items provided by a contentprovider in association with a query initiated by a user in a groupmessaging or communication setting. For example, the query can beinitiated by the user in an effort to find an interesting content itemto share to the group. The search results are based on the query keyterms, preferences of the user and the other users, actions the user andthe other users have taken in association with consuming/interactingwith content provided by the content provider (e.g., viewing watching,endorsing, sharing, etc.), and access control settings the user and theother users have associated with those actions. The filtering criteriacan also include content discussed and/or shared via the messagingsession, recency of publication of the content items, popularity of thecontent items with a wide user population, etc.

In order to protect a user's private data from other users participatingin a group conversation, the disclosed contentidentification/recommendation systems and methods employ a multiplelayer affinity threshold technique. In particular, when identifyingcontent items to recommend (or otherwise present) to a particular userin the group, a set of candidate content items are chosen based on theparticular user's private data (such as the particular user's watchhistory and private endorsements), and data accessible to all users inthe group (such as their likes, shares, endorsements, etc.). Inaddition, the set of candidate content items can also be chosen based oncontent shared in the messaging session, and search query terms. Thecandidate content items are then sorted and ranked based on all otherdata associated with content consumption/interaction by the otherparticipants in the group that is inaccessible to the particular user.

The disclosed techniques for identifying content items to share in agroup messaging session or forum are especially interesting because theresults depend on the user to which the content items are beingrecommended and the other users participating in the messaging session.Accordingly, each participant in the messaging session will be presentedwith a different set of recommended content items to share. This isimportant because if all users see the same recommended content itemsfor sharing, they will be unlikely to share them to the conversation. Inaddition the results are tailored to a context of the messaging session,such as the topic being discussed, other content items that are sharedduring the messaging session, the mood or tone of the conversation, etc.As a result, a single user will be presented with a different set ofcontent items to share for different messaging sessions/forums in whichthe user participates, even if the participants are the same.

Ultimately, the disclosed techniques provide each user participating ina group messaging session/forum with a dynamic list of content items toshare that are relevant to the conversation, unique to each user'spersonal preferences and content item consumption/interaction history,and likely to be well received by the other participants in theconversation, without revealing the participants private information andinfringing on their access control settings. As a result each of theusers are likely to continue sharing new content and keep the messagingsession/forum flowing and entertaining.

In one or more embodiments, a system is provided that includes anaccessible data mining component configured to generate a first set ofdata associated with a messaging session between a user and one or moreother user, the first set of data excluding data that is inaccessible tothe user and comprising data that is accessible to the user, and anidentification component configured to identify a set of media itemsprovided by a media provider based on the first set of data. The systemfurther includes an inaccessible data mining component configured togenerate a second set of data associated with the messaging session, thesecond set of data comprising data that is inaccessible to the user butaccessible to at least one of the one or more other users, and arecommendation component configured to recommend a subset of the set ofmedia items to the user for sharing in association with the messagingsession based on the second set of data.

In another aspect, a method is disclosed that includes using a processorto execute the following computer executable instructions stored in amemory to perform the following acts: generating a first set of dataassociated with a messaging session between a user and one or more otheruser, the first set of data excluding data that is inaccessible to theuser and comprising data that is accessible to the user; identifying aset of media items provided by a media provider based on the first setof data; generating a second set of data associated with the messagingsession, the second set of data comprising data that is inaccessible tothe user but accessible to at least one of the one or more other users;and recommending a subset of the set of media items to the user forsharing in association with the messaging session based on the secondset of data.

Further provided are computer-readable instructions that, in response toexecution, cause a computing system to perform operations. Theseoperations can include receiving

Referring now to the drawings, FIG. 1 presents an example system 100that facilitates identifying and recommending content for sharing in asocial setting based on personal user preferences and privacy settingsin accordance with various aspects and embodiments described herein.Aspects of systems, apparatuses or processes explained in thisdisclosure can constitute machine-executable components embodied withinmachine(s), e.g., embodied in one or more computer readable mediums (ormedia) associated with one or more machines. Such components, whenexecuted by the one or more machines, e.g., computer(s), computingdevice(s), virtual machine(s), etc. can cause the machine(s) to performthe operations described.

System 100 includes content provider 102, client device 118, one or moreother client devices 116. In accordance with system 100, contentprovider 102 and client devices 116 and 118 operate in server/clientrelationship wherein content provider 102 employs one or more serverdevices to provide content and/or services to client devices 116 and 118via a network in response to a request made by the client devices forsuch content and/or services from the content provider 102. Generally,media provider 102 and client devices 116 and 118 can include memorythat stores computer executable components and a processor that executesthe computer executable components stored in the memory, examples ofwhich can be found with reference to FIG. 10.

Content provider 102 can include various network based entitiesconfigured to provide content and/or services that are accessible toclient devices (e.g., client devices 116 and 118) via a website or thinclient application employed by the content provider 102. For example,content provider 102 can include a social networking system thatprovides social networking services and associated content via a websiteand/or thin client application provided on a user's client device. Thesocial networking system can allow users to establish virtual accountsvia which they can build social networks and communicate with otherusers who share similar interests and backgrounds. For example, manycomputer network based social networking systems allow users to shareideas, pictures, video, posts, activities, events, and other interestswith people in their social network. Such social networking systems canalso generate and provide personalized feeds to individual users withfeed items that serve as an aggregated and continuous stream ofinformation regarding activity at the social networking system. Thesocial networking system can also facilitate private group messaging orchatting sessions between two or more user via which the respectiveusers can share and discuss content provided by the social networkingsystem or other content providers.

In another aspect, content provider 102 can include an online merchantconfigured to sell goods or services to users via a website or thinclient application. According to this example, during a messaging orconversation forum between a group of two or more users, the users mightshare and discuss items offered for sale by the merchant. The disclosedcontent item recommendation techniques could be used to suggest itemsfor sale to the respective users for sharing with the group inassociation with the messaging forum or session. In another example,content provider 102 can include an information system configured topresent pictures, articles, blogs, webpages, etc. or other types ofcontent items to users. According to this example, the content providedby the website or application can be configured for downloading,streaming or merely viewing at a client device (e.g., client device 116and 118) via the network. In association with the disclosed content itemrecommendation techniques, during a group communication or messagingforum facilitated by the content provider 102 (e.g., via a communityfeed or posting board or via a private group chatting application) oranother messaging service provider (e.g., a cellular service provider,an electronic messaging service, etc.), respective users could berecommended content items such articles, pictures, blogs, webpages,etc., provided by the content provider 102, for sharing.

In various exemplary embodiments discussed herein in association withidentifying and recommending content items to users for sharing in agroup social setting, content provider 102 is a steaming media providerconfigured to provide streamed media to client devices via a network114. For example, the streaming media provider can have has access to avoluminous quantity (and potentially an inexhaustible number) of sharedmedia (e.g., video and/or audio) files. In some aspects, the streamingmedia provider can receive media (e.g., user generated content) uploadedthereto by respective users of the streaming media provider and publishthe uploaded media to other users. The media provider can further streamthese media files to one or more users at their respective clientdevices (e.g., client devices 116 and 118) using a network accessibleplatform (e.g., via a website or thin client application). The media canbe stored in memory at content/service provider 102 and/or at variousother servers or caches employed by the content/service provider 102.

In an aspect, the streaming media provider can facilitate mediaconsumption/interaction at the streaming media provider in a socialnetworking environment. For example, the streaming media provider caninclude or employ a social networking system via which respective userscan establish profiles or accounts with the media provider via which therespective users can connect with other users, communicate with otherusers and publicize or share information with the other users regardingtheir media consumption. For example, users can share informationregarding videos watched, videos endorsed, channels subscribed to,comments on videos or channels, videos recommended, shared videos, etc.In addition, the streaming media provider can enable users to establishtheir own channels which serve as avenues via which they share their ownmedia (e.g., media created, collected or otherwise associated withownership by the user). Other users of the streaming media provider cansubscribe to desired channels to receive information regarding thechannels, such as new videos added to the channels, recommended videosfrom the channels, comments provided by other users in association withthe channels, etc.

As used herein, the term channel refers to data content available from acommon source or data content having a common topic or theme. A channelcan be associated with a curator who can perform management actions onthe channel. Management actions may include, for example, adding mediaitems to the channel, removing media items from the channel, definingsubscription requirements for the channel, defining presentationattributes for channel content, defining access attributes for channelcontent, etc. The channel content can be digital content uploaded to theinternet-based content platform by a channel curator and/or digitalcontent selected by a channel curator from the content available on theInternet-based content platform. A channel curator can be a professionalcontent provider (e.g., a professional content creator, a professionalcontent distributor, a content rental service, a television (TV)service, etc.) or an amateur individual. Channel content can includeprofessional content (e.g., movie clips, TV clips, music videos,educational videos) and/or amateur content (e.g., video blogging, shortoriginal videos, etc.). Users, other than the curator of the channel,can subscribe to one or more channels in which they are interested.

The term media content or media item can include but is not limited tostreamable media (e.g., video, live video, video advertisements,animations, music, music videos, sound files and etc.) and static media(e.g., pictures, thumbnails). The term media content or media item alsoincludes a collection of media items such as a playlist includingseveral videos or songs, or a channel including several videos or songsassociated with a single media creator or curator.

Client devices 116 and 118 can include any suitable computing deviceassociated with a user and configured to receive content and/or servicesfrom content provider 102 via a network. For example, a client devices116 and 118 can include a desktop computer, a laptop computer, atelevision, an Internet enabled television, a mobile phone, asmartphone, a tablet personal computer (PC), a personal digitalassistant PDA, or a wearable computing device. As used in thisdisclosure, the terms “content consumer” or “user” refer to a person,entity, system, or combination thereof that employs system 100 (oradditional systems described in this disclosure) using a client device(e.g., client device 116 or 118).

System 100 is particularly configured to facilitate identifying andrecommending content items to users participating in social groupmessaging setting for sharing. In this context, client devices 116 arereferred to as “participating client devices” to denote that they areengage or are engaged in a messaging session with client device 118 (ormore conceptually accurate, a user of client device 118). As usedherein, the term messaging session refers to an electronic communicationof data between two or more users via which the respective users canshare various types of content items or links to content items providedby one or more network content providers (e.g., content provider 102)using a messaging application or platform.

A messaging session as described herein can involve the exchange ofmessages including text, multimedia, and/or voice in a real-time (e.g.,instant messaging or chat) or a non real-time (e.g., email, posting to adynamic forum or feed, etc.) format. For example, a messaging sessioncan include a group messaging session between a plurality of users via amobile messaging application provided on respective mobile clientdevices of the plurality of users. The messaging session can include agroup chat via which the respective users share and discuss varioustopics including videos or other types of multimedia provided by contentprovider 102 (e.g., videos, animations, music, etc.). According to thisexample, the shared media can be integrated into the group chat as anembedded or attached media object or link to a media object.

The group based messaging session can also enable the respective usersto share traditional text based messages with one another. In anotherexample, a messaging session can include an SMS text based messagingsession between two or more users or an email exchange between two ormore users. In yet another example, a messaging session can include astring of posts between users (e.g., in a chat or non-live format) to aserver based messaging board or forum.

In an aspect, client device 118 (and client devices 116) can include amessaging component 120 to establish and facilitate a messaging sessionbetween a user of client device 118 and one or more other users at theirrespective client devices 116. For example, messaging component 120 canfacilitate a mobile electronic messaging session between a user ofclient device 118 and another user or a group of users at theirrespective client devices 116. In an aspect, the messaging component 120can facilitate a group chat using a web-based messaging format. Inanother aspect, the messaging component 120 can facilitate sharing ofSMS or MMS messages.

In an aspect, messaging component 120 is provided by a service providerthat is not affiliated with content provider 102. For example, messagingcomponent 120 can include a messaging function provided by a socialmedia service provider, a remote messaging service provider, or acellular service provider. In another aspect, messaging component 120can be affiliated with and/or provided by media provider 102. Forexample, where content provider 102 is a streaming media provider, inaddition to providing streaming media, content provider 102 can providea messaging service that enables users to share messages (e.g., in theform of a group chat or messaging forum) with one another regardingmedia provided by the content provider 102.

According to this aspect, in association with access of media provider102 using a website platform or mobile application platform of thecontent provider 102, a user can access and open a messagingapplication/function provided by the media provider 102. The messagingapplication/function can allow the user to establish a public or privatemessaging session with one or more other users for the exchange ofmessages including videos provided by content provider 102 and/orinformation representative of videos provided by the content provider102 (e.g., links to the videos, thumbnails for the videos, etc.). Themessages can also include text, symbols, images and/or sound. Forexample, when a user of client device 118 accesses the content provider102 via a resident application client for the media provided located onthe client device 118, the resident application can include a messagingfunction that enables a messaging session between the user and one ormore other users. According to this example, messaging component 124 canbe a function offered by the resident client application for the contentprovider 102.

In some implementations, messaging component 120 is a media messagingapplication that enables sharing of messages including media items ordata representative of the media items, provided by content provider102, between two or more users in a messaging format. For example, themessaging component 120 can allow users to share videos provided by thecontent provider 102, links to videos provided by the content provider102, or embedded videos provided by the content provider 102 in messagesof a messaging session between two or more users. For example, themessaging component 120 can set up and facilitate a group chat between auser of client device 118 and users of client devices 116 whereinmessages of the group chat can include videos provided by media providerand/or video references to videos provided by content provider 102.

A video reference can either include but is not limited to: informationidentifying a video, information identifying a specific point or segmentof a video, a link to a video, a playlist a video occurs in, a channel avideo occurs in, a thumbnail for a video. For example, using messagingcomponent 120, a user can send a link to a video, provided by contentprovider 102, in a message of a messaging session between a group ofusers and identify a segment of the video that the user findsentertaining. In another example, using messaging component 120, a usercan send a group message to users of a group messaging session thatincludes an embedded video provided by content provider 102.

In an aspect, videos provided by the content provider 102 can includeshort video animations (e.g., from about a few seconds to about tenseconds) that include or do not include sound. These animations can begenerated from a longer videos and provide a reference to the longervideo. For example, a short video animation associated with a longervideo can include a clip of a woman saying a popular quote from a thevideo or a clip of a person performing a funny dance move from a populardance scene of the video. Such short animations are referred to hereinas “Vmojis.” Accordingly, rather than sharing a whole video, messagingcomponent 120 can allow a user to share a message that includes a Vmoji.

Client device 118 (and client devices 116) can include an interfacecomponent 122 to facilitate generating and presenting a graphical userinterface (e.g., interfaces 202, 206, 212, 302, 304, 306, and 308) inassociation with accessing content provider 102, conducting a messagingsession, and/or selecting and receiving (recommended) content items forsharing in association with the messaging session. For example, thegraphical user interface can include features that facilitatenavigating, consuming and interacting with content (e.g., videos whencontent provider is a streaming media provider 102) provided by thecontent provider 102. In some embodiments, the graphical user interfacecan also facilitate various social networking features provided by thecontent provider, such as developing social communities with otherusers, communicating with other users, sharing opinions, thoughts andcontent provided by the content provider with other users, etc.

In one or more embodiments, client device 118 (and client devices 116),can include also include a keyboard component 124 that facilitatesselecting content items, provided by content provider 102, to share withanother user or users in association with a group messaging session.According these embodiments, interface component 122 is configured togenerate and/or configure a graphical user interface, referred to hereinas a “content selection keyboard,” that facilitates selecting contentitems (e.g., videos), provided by the content provider 102, to includein messages of a messaging session and attaching or otherwise includingthe selected media items or references to the selected media items, inthe messages. Example interfaces including a content selection keyboardare described infra with respect to FIGS. 2, 3A and 3B.

In order to facilitate identifying and recommending content items forusers participating in a group messaging session to share during thegroup messaging session, in one or more embodiments, content provider102 can include accessible data mining component 104, inaccessible datamining component 106, identification component 108 and recommendationcomponent 110. Content provider 102 can also include or have access toone or more data stores 112 including information/data regarding contentconsumption/interaction actions or activity of users of content provider102 as well as access control settings the respective users haveimplemented in association with the actions or activity. The one or moredata stores 112 can also include various additional information aboutthe respective users of content provider 102 (e.g., user profileinformation, precipitated user preference and activity information,etc.) that can facilitate identifying an recommending content itemsprovided by content provider 102 to users for sharing in associationwith a group messaging session.

The disclosed content item identification and recommendation techniquesuse both private and public data to recommend content to a user,participating in a group messaging/communication session/forum, forsharing in a largely public manner. As used herein, the term access oraccessible when used with respect to data/information refers to a user'sability to view or receive the data/information. Also as used herein,content consumption or interaction refers to an action a user has takenin association with usage of content and/or services provided by contentprovider 102. These actions naturally can vary depending on the type ofcontent and or services provided by the content provider. However, someexemplary user content consumption/interactions associated with usage ofcontent provider 102 can include but are not limited to: accessing acontent item, viewing a content item, searching for a content item,playing a content item (e.g., when the content item is a video, song,sound, Vmoji, etc.), endorsing a content item (which can include markingthe content item as liked or favorited, subscribing to the content item,following/tracking the content item, etc.), sharing a content item,commenting on a content item, or purchasing a content item.

In accordance with various aspects and embodiments of the disclosedsubject matter, users can establish or implement access control settingsthat define who (e.g., what other user) are allowed to have access toinformation regarding various content consumption/interactivity actionsor activity of the user in association with content provided by contentprovider. For example, with reference to a user having an account with astreaming media provider (e.g., when content provider 102 is a streamingmedia provider), the user can implement access control setting via hisor her account regarding what other users can access informationregarding the user's watch history, the user's search history, theuser's subscriptions, the user's favorited or saved videos or channels,the user's video and channel endorsements, the user's comments oncertain videos or channels, the user's video shares, the user's posts oruploads, and various other possible user activity associated with usageof the streaming media provider and/or interaction with media providedby the streaming media provider (e.g., media, provided by the streamingmedia provider, posted or shared at a source remote to the streamingmedia provider).

With reference to a singular user in a group of users (e.g., two or moreuser participating in a group messaging session), private data refers todata regarding the user's content consumption/interaction action thatonly the singular user has access to based on access control settingimplemented by the singular user. For example, in association withconsuming and sharing media content provided by a streaming mediaprovider, private data may include the singular user's watch history,and private endorsements of media (e.g., media the user has marked asliked, favorited, subscribed to, saved for watching, etc.).

Public data on the other hand refers to data regarding a user's contentconsumption/interaction actions that the user has authorized at leastone other user to have access to based on access control settingsimplemented by the user. For example, public data can includeinformation identifying a content item that was privately shared by theuser with another user or with a defined group of other users (e.g., theuser's friends, the user's closest friends, the user's female friendsonly, user's Tom, Jerry and Sara only, etc.). In another example, publicdata can include data shared by the user to any and all users of themedia streaming provider.

Continuing with reference to a particular user included in a group ofusers participating in a group messaging session, accessible data refersto data regarding user content consumption/interaction that theparticular user has access to based on access control setting associatedwith the data. For example, data accessible to the particular user caninclude the user's private data (e.g., private watch history, privatemedia content endorsements, etc.), as well as public data regarding acontent consumption/interaction action another user has performed inassociation of usage of content provider 102 (e.g., sharing a contentitem, endorsing a content item, viewing a content item, etc.) that theother user has authorized the particular user to have access to (e.g.,based on access control settings implemented by the other user).Likewise, inaccessible data refers to data regarding user contentconsumption/interaction that the particular user does not have access tobased on access control setting associated with the data. For example,data that is inaccessible to the particular user can include otherusers' private data as well as public data regarding a contentconsumption/interaction action another user has made (e.g., sharing acontent item, endorsing a content item, viewing a content item, etc.)that the other user has not authorized the singular user to have accessto.

In association with identifying content items to present or recommend toa particular user for sharing in a group messaging session, accessibledata mining component 104 is configured to generate a first set of seeddata (e.g., using data included in the one or more data stores 112).This seed data is used by identification component 108 to identify a setof candidate content items that could be recommended or presented to theparticular user for sharing. The seed data includes a first set of dataassociated with the messaging session including data that is accessibleto the particular user and excluding data that is inaccessible to theuser. In particular, in one or more embodiments, the seed data caninclude the private content consumption/interaction data of theparticular user (such as the particular user's watch history and privateendorsements), and additional accessible data of all users in the group,including the particular user (such as their likes, shares, andaccessible endorsements, etc.). The seed data can also includeinformation that is public to all users of the group, such as othercontent items that are shared during the messaging session, text that isshared during the messaging session, a context of the messaging session,a topic of the messaging session, etc. In addition, when the particularuser initiates a search for a content item, the seed data can includequery terms used in the search.

For example, when content provider 102 is a streaming media provider andthe group messaging session involves sharing videos provided by thestreaming media provider, the seed data can include a first set of dataincluding but not limited to: other media content provided by the mediaprovider that is shared in the messaging session, activity data relatedto usage of the media provider by the particular user (e.g., theparticular user's private data, such as his watch history, privateendorsements, etc.), and endorsement data that is accessible to theparticular user and the one or more other users in the group regardingendorsement, by the user or the one or more other users, of mediacontent provided by the media provider. The seed data can also include avariety of other types of data regarding usage of the media provider,and/or interaction with media provided by the media provider, by one ormore participants in the group that is accessible to all of theparticipants. For example, the seed data could include data identifyinga content item shared by one user in the group to his social mediafriends (which includes the participants of the group). In anotherexample, the seed data could include data regarding a comment one of theusers in the group made about a video, wherein the one of the usersauthorized a specific set of social peers to have access to the commentand all the members in the group are included in the specific set ofsocial peers.

The identification component 108 is configured to identify a set ofcandidate content items provided by the content provider 102 based onthe seed data. For example, identification component 108 can findcontent items based on the particular user's private data, such ascontent items that the particular user accesses, endorses, subscribesto, etc., and/or other content items related to content items that theparticular user accesses, endorses, subscribes to, etc. Similarly,identification component 108 can find content items that one or moreother users in the group access, endorse, subscribe to, etc., and/orother content items related to content items that that one or more otherusers in the group access, endorse, subscribe to, etc., wherein dataregarding the respective users content access, endorsement,subscription, etc., is accessible to all users in the group. Inaddition, identification component 108 can identify content items thatare related to other content items shared in the messaging session, textincluded in the messaging session (e.g., key words), a topic of themessaging session, or other discernible data from the messaging sessionthat indicates the subject matter, tone, and mood of the messagingsession.

In association with finding related content items, identificationcomponent 108 can employ various existing and potential searchtechniques, such as finding content items having similar metadataassociated therewith, or finding content items that are associated witha similar characteristic (e.g., other videos from the same channel,other videos featuring a particular actor, other videos included in aspecific genera, etc.). In another example, identification component 108can find related videos based on finding a set of users that watch aparticular video, and then finding other videos those users tend towatch (e.g., using co-watch signals). For example, the wherein theaccessible data mining component can analyze text shared in themessaging session to determine the key words, topics, tone, and othercharacteristics of the messaging session.

Inaccessible data mining component 106 is configured to generate asecond set of protected data associated with the messaging session. Thisprotected data includes data that is inaccessible to the particularuser, but accessible to one or more of the other users in the group. Forexample, the second set of data can include private data of the otherusers in the group. In another example, the second set of data caninclude data that is accessible to two or more other users in the group,but not accessible to the particular user. For instance, when thecontent provider is a streaming media provider, the second set of datacan include that is inaccessible to the particular user related to usageof the media provider by the one or more other users (e.g., theirprivate watch histories, private search queries), and endorsement datathat is inaccessible to the particular user regarding endorsement, oneor more of the other users in the group, of media content provided bythe media provider.

Recommendation component 110 is configured to select a subset of thecandidate content items to recommend or present to the user based on thesecond set of protected data. For example, recommendation component 110can examine the candidate content items and sort, rank and/or filterthem based on the second set of data to identify a subset of thecandidate content items to recommend that are most relevant to thepreferences of the particular user, the preferences of the other usersin the group, and the subject matter or context of the messagingsession. In another example, recommendation component 110 can examinethe candidate content items and sort, rank and/or filter them based onthe second set of data to identify a subset of the candidate contentitems to recommend that are most relevant to the preferences of theparticular user, the preferences of the other users in the group, thesubject matter or context of the messaging session, and one or morequery search terms provided by the particular user. According to thisexample, the recommendation component 110 can return a search queryresult with candidate content items (e.g., as opposed to arecommendation list). The various mechanisms via which the candidatecontent items are sorted, filtered and ranked are discussed in greaterdetail infra with respect to FIGS. 4-6.

Because the second set of protected data is inaccessible to theparticular user, it is not used to find candidate content items torecommend to the particular user. However, it can be used to rank, sortand/or filter the set of candidate content items identified based on theseed data. As a result, candidates are not choose based on data that isinaccessible to the particular user, such as private data of other usersin the group. Thus the chance of a content item (e.g., video) that auser in the group privately watched or endorsed becoming a content itemthat is recommended to another user in the group for sharing has a lowprobability.

FIG. 2 presents a series of graphical user interfaces 202, 206 and 212displayed on a mobile device 200 in association with a group messagingsession that involves sharing videos provided by a streaming mediaprovider (e.g., content provider 102), accordance with aspects andembodiments described herein. In an aspect, client device 200 includeone or more of the components of client device 118. For example, thevarious interfaces presented on the client device 200 can be generated,presented, and/or facilitated by messaging component 120, interfacecomponent 122, and/or keyboard component 124. Repetitive description oflike elements employed in respective embodiments disclosed herein isomitted for sake of brevity.

Interface 202 presents a messaging session interface wherein a messagingsession is established between at least two users, identified as user 1and user 2. The messaging session facilitates sharing and discussingmedia. For example, user 1 has shared a video, video 1, and user 2 hasshared a video, video 2, during the messaging session. In an aspect,video 1 and video 2 are embedded videos provided by an external mediaprovider (e.g., content provider 102). For exemplary purposes, user 1 isthe owner/user of employing client device 200.

Messaging session interface 202 further includes an add media button204. Selection of the add media button by user 1 results in thegeneration/presentation of interface 206. Interface 206 includes a mediaselection (MS) keyboard 208. The MS keyboard 208 facilitates selectingmedia (provided by the external media provider) for sharing with otherusers via the messaging session. The MS keyboard 208 can include variousmenu options, including a type text/keyboard option, a recommended forsharing section 210, a selfie camera tool, a view watch history tool, asearch tool, and an “add user” to the conversation tool.

In an embodiment, the recommended for sharing section 210 corresponds tomedia items selected by recommendation component 110 for sharing inassociation with the messaging session in accordance with the variousaspects and embodiments described herein. Interface 212 corresponds to agraphical user interface that is produced in response to selection ofthe recommended for sharing section 201. As seen in interface 212,several videos are presented to user 1 in a list format that have beendetermined good candidates to share by user 1 during the messagingsession based on the various criteria described herein. Selection of oneof the videos from the list can result in sharing a third video to theconversation.

FIGS. 3A and 3B present another series of graphical user interfaces 302,304, 306 and 308 that can be displayed on a client device (e.g., clientdevices 116 and 118) in association with a group messaging session thatinvolves sharing videos provided by a streaming media provider (e.g.,content provider 102), accordance with aspects and embodiments describedherein. Repetitive description of like elements employed in respectiveembodiments is omitted for sake of brevity.

Interface 302 presents a search tool that facilitates searching forvideos to share in a messaging session. For example, interface 302 canbe presented in response to selection of a search icon (not shown). Thesearch tool allows the user to input key terms associated with a videothat the user is interested in sharing (e.g., via text using thestandard keyboard or voice input). The key terms currently presentedbelow the search tool bar can include key terms the user recentlysearched and/or key terms related to the current messaging session thatare auto-populated by the content provider and/or the client device (viaanalyzing text and/or shared media of the current messaging session).

Interface 304 presents a set of search results that are presented to theuser based in part on the key words “Draft Punk.” In an embodiment, thesearch results are selected and presented by recommendation component110 in accordance with the various aspects and embodiments disclosedherein. For example, in addition to determining the search results basedon the key words “Draft Punk,” a set of candidate videos were identifiedby identification component 108 based on data that is accessible to theuser and all other users in the group messaging session. Therecommendation component 110 then selected a subset of the candidatevideos based on data that is inaccessible to the user but accessible toat least one of the other users in the group.

Interface 306 presents an example preview interface that includes avideo selected by the user from the search results for sharing to thegroup messaging session. The preview interface also allows the user toadd text to a message including the video in association with sharingthe video. Interface 308 shows the group messaging session interfaceafter the video and the associated message are posted thereto.

FIG. 4 resents another example system 400 that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. System 400 includessame or similar features and functionality as system 100 with theaddition of affinity component 402 and ordering component 404.Repetitive description of like elements employed in respectiveembodiments is omitted for sake of brevity.

A primary purpose of the subject mechanisms of identifying content torecommend to a particular user participating in a group messagingsession for sharing during the group messaging session is to suggestcontent that the whole group would enjoy or find entertaining orinteresting, that particular user has a personal affinity for, and thatis relevant to the current subject matter/tone of the messaging session(e.g., the topic currently being discussed). In order to facilitateachieving these goals, affinity component 402 is configured to determineaffinity scores to associate with candidate content items identified byidentification component 108 that reflect affinities the respectivemessaging session participants have for the candidate content items.Recommendation component 110 can the select a subset of the candidatecontent items based on the affinity scores respectively associationtherewith (e.g., the recommendation component 110 can select candidatecontent items associated with higher user affinity).

In an aspect, the affinity component 402 is configured to determineaffinity scores for each of the candidate content items included in aset of candidate content items that represent the collective affinitythe other users in the group, (aside from the particular user for whichthe recommendation is being made) for each of the content items, basedon the second set of data. In particular, the affinity component 402 canuse information regarding the others users' private watch histories,private endorsements, private subscriptions, private queries, etc. todetermine a score for each candidate content item (e.g., video) thatrepresents how much the other users collectively “like” the content itemor how “popular” the content item is with the other users in the group.In addition, the affinity component 402 can use public data associatedwith each of the other users, that the particular user does not haveaccess to (e.g., wherein this type of data is also included in thesecond set of protected data but not the first set of seed data). Forexample, the affinity component 402 can employ data identifying contentitems that one or more of the other users shared with friends outsidethe group, data identifying a content item one of the other usersendorsed or commented on and allowed others users to know about it,(such as user included in the group and/or excluded from the group), butdid not allow the particular user to know about it.

In another aspect, affinity component 402 can determine affinity scoresfor each of the candidate content items that reflects a degree of aaffinity the particular user has for each of the content items based onthe first set of data. In yet another aspect, affinity component 402 candetermined combined affinity scores for each of the candidate contentitems that reflects a measure of the particular user's affinity for thecontent item and the collective affinity the other users in the grouphave for the content item. Still in yet another aspect, in associationwith recommending content items for the particular user to share inresponse to one of the group members comments, the affinity component402 can specifically determine first affinity scores reflective of thecommenting user's affinity for each of the candidate content items basedon the second set of data, and the second affinity scores that reflectthe particular user's affinity for each of the content items. Theaffinity component 402 can also determine a combined affinity score foreach of the content items that is based on both of the first and secondaffinity scores.

Regardless of whether the affinity component 402 is determining anaffinity score for a candidate content item based on the first set ofseed data or the second set of protected data, the affinity component402 can employ same or similar mechanisms to calculate a user's affinityfor a content item.

In one embodiment, in order to determine a user's affinity for a mediaitem, such as a video, the affinity component 402 can determine the typeand degree of interaction the user has had with the media item. Forinstance, the user may have endorsed the media item, commented on themedia item, saved the media item as a favorite, watched the media item,shared the media item, etc. or performed a combination of the actionsrelative to these actions. According to this example, some actions canbe weighed more heavily than others as measure of the user's affinityfor the media item. For example, when a user likes or favorites themedia item, this activity can be considered a stronger indication ofuser affinity for the media item as opposed to simply watching the mediaitem or saving it for watching later. In addition, the great the degreeof activity the user has with the content item, the higher affinity theuser is deemed to have for the media item. For example, if a userwatches a media item, shares it and likes it, or even more, watches itmultiple times, this activity can result in association of the mediaitem with a higher affinity score than if the user simply commented onthe media item or watched it once.

According to this embodiment, if a user has not had any interaction orassociation with the content item, his or her affinity for the contentitem may be considered low. For example, after a set of candidatecontent items are chosen based on the first set of seed data, affinitycomponent can 402 employ the second set of protected data to determinethe type of interaction and degree of interaction the other users in thegroup have had with each of the candidate content items. With respect toa particular candidate content item, if based on the second set of datathe affinity component 402 determines that a low number (e.g., none orone) of the other users in the group have interacted with the contentitem (e.g., endorsed the content item, watched the content item, sharedthe content item, etc.), the content item can receive a low affinityscore reflective of the degree of affinity the other users in the grouphave for the content item. The particular user's affinity for thecontent item can also be based on his or her interaction with thecontent item.

In another embodiment, even if a user, (including the particular user towhich content items are being recommend and the other users in thegroup), has not demonstrated an existing interaction with content item,the affinity component 402 can determine the user's affinity for thecontent item by first, identifying a set of users of the contentprovider 102 having similar content consumptions preferences as theuser. For example, with respect to a streaming media provider, theaffinity component 402 can look at the user's watch history and find aset of other users of the streaming media provider (e.g., from theentire sample of users of the streaming media provider) with similarwatch histories. The affinity component 402 can then determine a numberof the users in the set that have also watched or endorsed the candidatecontent item. The greater this number the higher the affinity score forthe candidate content item. For example, if it is determined that manyusers of the streaming media provider that have similar watch historieshave watch and liked the candidate media item, the is a high probabilitythat the user will also like it upon seeing it.

In yet another embodiment, when determining a user's affinity for aparticular candidate video, the affinity component 402 can determine achannel the candidate video is associated with. The affinity component402 can then determine whether the user has subscribed to the channel,engaged with the channel, watched other videos from the channel, etc. toinfer a degree of affinity the user will have for the video when theuser has not yet come across the video. In other words, the moreinvested the use is with the channel, the higher affinity the user willbe considered to have in the candidate video that is also from thatchannel.

Ordering component 404 is configured to order a set of candidate contentitems based on the affinity scores associated therewith. For example,ordering component 404 can order those candidate content itemsdemonstrating a higher user affinity score over those having a loweruser affinity score. In various embodiments, the recommendationcomponent 110 is configured to identify a subset of candidate contentitems to recommend to a user based on their ordered ranking. Forexample, the recommendation component 110 can select the top 5, the top10, etc. In another example, the recommendation component 110 caninclude all the candidate content items in a recommendation list, yetprovide them in the order determined by ordering component 404. Thisway, the user will scan through the suggested content items that aredeemed the best candidates first before reaching lower ranked candidatecontent items.

FIG. 5 resents another example system 500 that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. System 400 includessame or similar features and functionality as system 400 with theaddition of ranking component 502 and social annotation component 504.Repetitive description of like elements employed in respectiveembodiments is omitted for sake of brevity.

In various embodiments, the ranking component 502 is configured to rankcandidate media items to based on one or more factors in associationwith selecting a subset of the candidate content items to recommend orpresent to a particular user participating in a group messaging sessionfor sharing. In an aspect, the ranking component 502 is configured torank the respective candidate content items based on their associatedaffinity scores determined by affinity component 402 to reflect a degreeto which the content provider considers the respective content items tobe liked and shared by the particular user. According to this aspect,the affinity scores can be based on the particular user's contentconsumption/interaction activity with the content provider. Thisinformation is generally included in the first set of seed data. Theranking component 502 can also rank the respective candidate contentitems based on other affinity scores determined for the restive contentitems that reflect a degree to which the other participants in themessaging session like (or otherwise find entertaining, interesting,etc.) the respective candidate content items. These other affinityscores will be primarily based on the second set of protected data.

In association with these embodiments, ranking component 502 can rankcandidate videos using the second set of protected data based on howmany of the other group participants have watched, endorsed, shared,commented on, and/or otherwise provided an indication of affinity forthe respective candidate videos. Those videos that seem to be morepopular with a majority of the group members will thus be ranked higher.The ranking component 502 can also employ the first set of data and thesecond set of data to determine co-watch signals between the particularuser and the other users in the group. For example, the rankingcomponent 502 can identify candidate videos that have been watched bythe particular user and also watched by one or more of the other membersof the group. Those videos that have been watched by the particular userand a greater number of the other users will be ranked higher than thosewith fewer or weaker co-watch signals.

In some aspects, recommendation component 110 is configured to identifya subset of candidate content items that are considered the best toinclude by the particular user in a response to a specific comment,question, or share made by another user in the group, wherein the groupincludes three or more total participants. According to these aspects,the ranking component 502 can weight this other user's affinity towardsthe candidate content items higher than rest of the participants in thegroup when ranking the respective candidate content items.

The ranking can also reflect a degree to which content providerconsiders the respective candidate content items relevant to themessaging session in general and/or relevant to a current topic or setof comments/shares of the messaging session. According to this aspect,ranking component 502 can employ information included in the first setof seed data regarding other content items that have already been sharedin the messaging session, key words included in the messaging session, atopic of the messaging session, and a tone or mood of the messagingsession. The ranking component 502 can then determine or infer arelevancy score for the respective content items based on these factors.For example, with respect to videos, the ranking component 502 can rankvideos having content characteristics (e.g., based on metadataassociated therewith regarding a title of the video, a genera of thevideo, a length of the video, a channel associated with the video,semantic content of the video, actors appearing in the video, an artistassociated with the video, etc.) that are similar to other videos thathave already been shared, key words extracted from the messagingsession, the topic of the messaging session, and the tone of themessaging session. When a query is initiated by the particular user,ranking component 502 can also rank respective candidate content itemsbased on relevancy to the query terms employed.

In addition, ranking component 502 can rank respective candidate contentitems based on general popularity of the content items with users of thecontent provider and recency of publication/hype regarding therespective content items. For example, ranking component 502 can rankcandidate videos that are currently trending or popular amongst thecontent provider's users (e.g., based on number of views, shares, etc.)higher than other videos considered not as popular. In another example,ranking component 502 can rank videos that have been recently watched,shared, endorsed, etc., by the other users in the group higher thanthose that were watched, shared, endorsed, etc., at a later time. Inaccordance with this example, ranking component 502 can employ thesecond set of protected data to determine factors regarding recency ofwatching, interaction, and/or endorsements of respective candidatecontent items by the other members of the group.

Recommendation component 110 is further configured to select a subset ofcandidate content items based on their rankings. For example, thosecandidate content items having a ranking above a threshold ranking canbe recommended, or the top N (e.g., 5, 10, etc.) candidate content itemscan be recommended.

Social annotation component 504 is configured to apply socialannotations to recommended content items when available. In particular,in order to increase the likelihood users share recommended contentitems in group conversations, a “recommendation source” can be used todecorate the recommended content items. This recommendation source canbe any public user behavior from the participants that relates to thecontent item and had a positive effect on the likelihood ofrecommendation of that content item. For example a source recommendationmight be “This video is recommended because both you and John liked ‘Thefox and the hound’” or “This video is recommended because John shared‘Red fish blue fish’ with you and Tyler.” The user seeing the sociallyannotated action should always have access to seeing the annotatedaction.

In an aspect, after a particular subset of content items has beenidentified for recommending to a user (e.g., via identificationcomponent 108) for sharing with the group messaging session, socialannotation component 504 is configured to determine whether informationregarding activity of any of the other users in the group toward thecontent item (e.g., endorsing, watching, sharing, commenting, etc.) isincluded in the first set of seed data (e.g., because it is accessibleto all of the group participants). If so, the social annotationcomponent 504 is configured to use this data to apply a socialannotation to the recommended content item. The social annotation canidentify the particular users that have endorsed (or watched, shared,etc.) the content item and the type of activity the other users haveperformed in association with endorsing the content item. For example,the social annotation can include a short phrase stating that “Amy,John, and Tom have all liked this video!” In some embodiments, thesocial annotation can also be presented with the content item if andwhen it is selected for sharing with the group.

FIG. 6 resents another example system 600 that facilitates identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. System 600 includessame or similar features and functionality as system 500 with theaddition of inference component 602. Repetitive description of likeelements employed in respective embodiments is omitted for sake ofbrevity.

Inference component 602 is configured to provide for or aid in variousinferences or determinations associated with aspects system 600. Forexample, inference component 602 can facilitate affinity component 402in association with determine affinity scores for content items thatreflect a degree to which a user has an affinity for the content item.Inference component 602 can also facilitate ranking component 504 withranking media items to reflect a degree of suitability for sharing by aparticular user participating in a messaging session given the otherparticipants and the context of the messaging session.

In order to provide for or aid in the numerous inferences describedherein, inference component 602 can examine the entirety or a subset ofthe data to which it is granted access and can provide for reasoningabout or infer states of the system, environment, etc. from a set ofobservations as captured via events and/or data. An inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states, for example. The inference can beprobabilistic—that is, the computation of a probability distributionover states of interest based on a consideration of data and events. Aninference can also refer to techniques employed for composinghigher-level events from a set of events and/or data.

Such an inference can result in the construction of new events oractions from a set of observed events and/or stored event data, whetheror not the events are correlated in close temporal proximity, andwhether the events and data come from one or several event and datasources. Various classification (explicitly and/or implicitly trained)schemes and/or systems (e.g., support vector machines, neural networks,expert systems, Bayesian belief networks, fuzzy logic, data fusionengines, etc.) can be employed in connection with performing automaticand/or inferred action in connection with the claimed subject matter.

A classifier can map an input attribute vector, x=(x1, x2, x3, x4, xn),to a confidence that the input belongs to a class, such as byf(x)=confidence(class). Such classification can employ a probabilisticand/or statistical-based analysis (e.g., factoring into the analysisutilities and costs) to prognose or infer an action that a user desiresto be automatically performed. A support vector machine (SVM) is anexample of a classifier that can be employed. The SVM operates byfinding a hyper-surface in the space of possible inputs, where thehyper-surface attempts to split the triggering criteria from thenon-triggering events. Intuitively, this makes the classificationcorrect for testing data that is near, but not identical to trainingdata. Other directed and undirected model classification approachesinclude, e.g., naïve Bayes, Bayesian networks, decision trees, neuralnetworks, fuzzy logic models, and probabilistic classification modelsproviding different patterns of independence can be employed.Classification as used herein also is inclusive of statisticalregression that is utilized to develop models of priority.

In view of the example systems and/or devices described herein, examplemethods that can be implemented in accordance with the disclosed subjectmatter can be further appreciated with reference to flowcharts in FIGS.7-9. For purposes of simplicity of explanation, example methodsdisclosed herein are presented and described as a series of acts;however, it is to be understood and appreciated that the disclosedsubject matter is not limited by the order of acts, as some acts mayoccur in different orders and/or concurrently with other acts from thatshown and described herein. For example, a method disclosed herein couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, interaction diagram(s) mayrepresent methods in accordance with the disclosed subject matter whendisparate entities enact disparate portions of the methods. Furthermore,not all illustrated acts may be required to implement a method inaccordance with the subject specification. It should be furtherappreciated that the methods disclosed throughout the subjectspecification are capable of being stored on an article of manufactureto facilitate transporting and transferring such methods to computersfor execution by a processor or for storage in a memory.

FIG. 7 illustrates a flow chart of an example method 700 for identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. At 702, a first set ofdata associated with a messaging session between a user and one or moreother user is generated (e.g., via accessible data mining component104). The first set of data excludes data regarding contentconsumption/interaction by the other users in the group that isinaccessible to the user and including content consumption/interactiondata that is accessible to the user, such as private content/consumptioninteraction data of the user and content consumption/interaction data ofany member of the group that is public or accessible to all members ofthe group. At 704, a set of media items provided by a media provider areidentified based on the first set of data (e.g., via identificationcomponent 108). At 706, a second set of data associated with themessaging session is generated (e.g., via inaccessible data miningcomponent 106). The second set of data comprising data that isinaccessible to the user but accessible to at least one of the one ormore other users. Then at 708, a subset of the set of media items isrecommended to the user for sharing in association with the messagingsession based on the second set of data (e.g., via recommendationcomponent 108).

FIG. 8 illustrates a flow chart of an example method 800 for identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. At 802, a first set ofdata associated with a messaging session between a user and one or moreother user is generated (e.g., via accessible data mining component104). The first set of data excludes data regarding contentconsumption/interaction by the other users in the group that isinaccessible to the user and including content consumption/interactiondata that is accessible to the user, such as private content/consumptioninteraction data of the user and content consumption/interaction data ofany member of the group that is public or accessible to all members ofthe group. At 804, a set of media items provided by a media provider areidentified based on the first set of data (e.g., via identificationcomponent 108). At 806, a second set of data associated with themessaging session is generated (e.g., via inaccessible data miningcomponent 106). The second set of data comprising data that isinaccessible to the user but accessible to at least one of the one ormore other users.

At 808, the second set of data is employed to rank the media items inthe set based on an inferred affinity the user and the one or more otherusers have the respective media items (e.g., via ranking component 502).Then at 810, a subset of the set of media items for sharing by the userin association with the messaging session is identified based on theranking (e.g., via recommendation component 108).

FIG. 9 illustrates a flow chart of an example method 900 for identifyingand recommending content for sharing in a social setting based onpersonal user preferences and privacy settings in accordance withvarious aspects and embodiments described herein. At 902, a first set ofdata associated with a messaging session between a user and one or moreother user is generated (e.g., via accessible data mining component104). The first set of data excludes data regarding contentconsumption/interaction by the other users in the group that isinaccessible to the user and including content consumption/interactiondata that is accessible to the user, such as private content/consumptioninteraction data of the user and content consumption/interaction data ofany member of the group that is public or accessible to all members ofthe group. At 904, a set of media items provided by a media provider areidentified based on the first set of data (e.g., via identificationcomponent 108). At 906, a second set of data associated with themessaging session is generated (e.g., via inaccessible data miningcomponent 106). The second set of data comprising data that isinaccessible to the user but accessible to at least one of the one ormore other users.

At 908, first affinity scores are determined for respective media itemsincluded in the set based on the second set of data (e.g., via affinitycomponent 402). The first affinity scores reflect an inferred level ofaffinity the one or more other users have for the respective mediaitems. At 910, second affinity scores are determined for respectivemedia items included in the set based on the first set of data (e.g.,via affinity component 402). The second affinity scores reflect aninferred level of affinity the user has for the respective media items.At 912, the respective media items in the set are ranked based on thefirst and second affinity scores and a level of relevance to othercontent (e.g., media content and text content) shared in the messagingsession (e.g., via ranking component 502). Then at 914, a subset of theset of media items is identified for sharing by the user in associationwith the messaging session based on the ranking.

EXAMPLE OPERATING ENVIRONMENTS

The systems and processes described below can be embodied withinhardware, such as a single integrated circuit (IC) chip, multiple ICs,an application specific integrated circuit (ASIC), or the like. Further,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodthat some of the process blocks can be executed in a variety of orders,not all of which may be explicitly illustrated in this disclosure.

With reference to FIG. 10, a suitable environment 1000 for implementingvarious aspects of the claimed subject matter includes a computer 1002.The computer 1002 includes a processing unit 1004, a system memory 1006,a codec 1005, and a system bus 1008. The system bus 1008 couples systemcomponents including, but not limited to, the system memory 1006 to theprocessing unit 1004. The processing unit 1004 can be any of variousavailable processors. Dual microprocessors and other multiprocessorarchitectures also can be employed as the processing unit 1004.

The system bus 1008 can be any of several types of bus structure(s)including the memory bus or memory controller, a peripheral bus orexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, Industrial StandardArchitecture (ISA), Micro-Channel Architecture (MSA), Extended ISA(EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus(USB), Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), Firewire (IEEE 13104), and SmallComputer Systems Interface (SCSI).

The system memory 1006 includes volatile memory 1010 and non-volatilememory 1012. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer1002, such as during start-up, is stored in non-volatile memory 1012. Inaddition, according to present innovations, codec 1005 may include atleast one of an encoder or decoder, wherein the at least one of anencoder or decoder may consist of hardware, a combination of hardwareand software, or software. Although, codec 1005 is depicted as aseparate component, codec 1005 may be contained within non-volatilememory 1012. By way of illustration, and not limitation, non-volatilememory 1012 can include read only memory (ROM), programmable ROM (PROM),electrically programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), or flash memory. Volatile memory 1010includes random access memory (RAM), which acts as external cachememory. According to present aspects, the volatile memory may store thewrite operation retry logic (not shown in FIG. 10) and the like. By wayof illustration and not limitation, RAM is available in many forms suchas static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), and enhanced SDRAM (ESDRAM.

Computer 1002 may also include removable/non-removable,volatile/non-volatile computer storage medium. FIG. 10 illustrates, forexample, disk storage 1014. Disk storage 1014 includes, but is notlimited to, devices like a magnetic disk drive, solid state disk (SSD)floppy disk drive, tape drive, Jaz drive, Zip drive, LS-70 drive, flashmemory card, or memory stick. In addition, disk storage 1014 can includestorage medium separately or in combination with other storage mediumincluding, but not limited to, an optical disk drive such as a compactdisk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CDrewritable drive (CD-RW Drive) or a digital versatile disk ROM drive(DVD-ROM). To facilitate connection of the disk storage devices 1014 tothe system bus 1008, a removable or non-removable interface is typicallyused, such as interface 1016.

It is to be appreciated that FIG. 10 describes software that acts as anintermediary between users and the basic computer resources described inthe suitable operating environment 1000. Such software includes anoperating system 1018. Operating system 1018, which can be stored ondisk storage 1014, acts to control and allocate resources of thecomputer system 1002. Applications 1020 take advantage of the managementof resources by operating system 1018 through program modules 1024, andprogram data 1026, such as the boot/shutdown transaction table and thelike, stored either in system memory 1006 or on disk storage 1014. It isto be appreciated that the claimed subject matter can be implementedwith various operating systems or combinations of operating systems.

A user enters commands or information into the computer 1002 throughinput device(s) 1028. Input devices 1028 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1004through the system bus 1008 via interface port(s) 1030. Interfaceport(s) 1030 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1036 usesome of the same type of ports as input device(s). Thus, for example, aUSB port may be used to provide input to computer 1002, and to outputinformation from computer 1002 to an output device 1036. Output adapter1034 is provided to illustrate that there are some output devices 1036like monitors, speakers, and printers, among other output devices 1036,which require special adapters. The output adapters 1034 include, by wayof illustration and not limitation, video and sound cards that provide ameans of connection between the output device 1036 and the system bus1008. It should be noted that other devices and/or systems of devicesprovide both input and output capabilities such as remote computer(s)1038.

Computer 1002 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1038. The remote computer(s) 1038 can be a personal computer, a server,a router, a network PC, a workstation, a microprocessor based appliance,a peer device, a smart phone, a tablet, or other network node, andtypically includes many of the elements described relative to computer1002. For purposes of brevity, only a memory storage device 1040 isillustrated with remote computer(s) 1038. Remote computer(s) 1038 islogically connected to computer 1002 through a network interface 1042and then connected via communication connection(s) 1044. Networkinterface 1042 encompasses wire and/or wireless communication networkssuch as local-area networks (LAN) and wide-area networks (WAN) andcellular networks. LAN technologies include Fiber Distributed DataInterface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet,Token Ring and the like. WAN technologies include, but are not limitedto, point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

Communication connection(s) 1044 refers to the hardware/softwareemployed to connect the network interface 1042 to the bus 1008. Whilecommunication connection 1044 is shown for illustrative clarity insidecomputer 1002, it can also be external to computer 1002. Thehardware/software necessary for connection to the network interface 1042includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and wired and wirelessEthernet cards, hubs, and routers.

Referring now to FIG. 11, there is illustrated a schematic block diagramof a computing environment 1100 in accordance with this disclosure. Thesystem 1100 includes one or more client(s) 1102 (e.g., laptops, smartphones, PDAs, media players, computers, portable electronic devices,tablets, and the like). The client(s) 1102 can be hardware and/orsoftware (e.g., threads, processes, computing devices). The system 1100also includes one or more server(s) 1104. The server(s) 1104 can also behardware or hardware in combination with software (e.g., threads,processes, computing devices). The servers 1104 can house threads toperform transformations by employing aspects of this disclosure, forexample. One possible communication between a client 1102 and a server1104 can be in the form of a data packet transmitted between two or morecomputer processes wherein the data packet may include video data. Thedata packet can include a metadata, e.g., associated contextualinformation, for example. The system 1100 includes a communicationframework 1106 (e.g., a global communication network such as theInternet, or mobile network(s)) that can be employed to facilitatecommunications between the client(s) 1102 and the server(s) 1104.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1102 include or areoperatively connected to one or more client data store(s) 1108 that canbe employed to store information local to the client(s) 1102 (e.g.,associated contextual information). Similarly, the server(s) 1104 areoperatively include or are operatively connected to one or more serverdata store(s) 1110 that can be employed to store information local tothe servers 1104.

In one embodiment, a client 1102 can transfer an encoded file, inaccordance with the disclosed subject matter, to server 1104. Server1104 can store the file, decode the file, or transmit the file toanother client 1102. It is to be appreciated, that a client 1102 canalso transfer uncompressed file to a server 1104 and server 1104 cancompress the file in accordance with the disclosed subject matter.Likewise, server 1104 can encode video information and transmit theinformation via communication framework 1106 to one or more clients1102.

The illustrated aspects of the disclosure may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Moreover, it is to be appreciated that various components described inthis description can include electrical circuit(s) that can includecomponents and circuitry elements of suitable value in order toimplement the embodiments of the subject innovation(s). Furthermore, itcan be appreciated that many of the various components can beimplemented on one or more integrated circuit (IC) chips. For example,in one embodiment, a set of components can be implemented in a single ICchip. In other embodiments, one or more of respective components arefabricated or implemented on separate IC chips.

What has been described above includes examples of the embodiments ofthe present invention. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but it is to be appreciated thatmany further combinations and permutations of the subject innovation arepossible. Accordingly, the claimed subject matter is intended to embraceall such alterations, modifications, and variations that fall within thespirit and scope of the appended claims. Moreover, the above descriptionof illustrated embodiments of the subject disclosure, including what isdescribed in the Abstract, is not intended to be exhaustive or to limitthe disclosed embodiments to the precise forms disclosed. While specificembodiments and examples are described in this disclosure forillustrative purposes, various modifications are possible that areconsidered within the scope of such embodiments and examples, as thoseskilled in the relevant art can recognize.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms used to describe such components are intended to correspond,unless otherwise indicated, to any component which performs thespecified function of the described component (e.g., a functionalequivalent), even though not structurally equivalent to the disclosedstructure, which performs the function in the disclosure illustratedexemplary aspects of the claimed subject matter. In this regard, it willalso be recognized that the innovation includes a system as well as acomputer-readable storage medium having computer-executable instructionsfor performing the acts and/or events of the various methods of theclaimed subject matter.

The aforementioned systems/circuits/modules have been described withrespect to interaction between several components/blocks. It can beappreciated that such systems/circuits and components/blocks can includethose components or specified sub-components, some of the specifiedcomponents or sub-components, and/or additional components, andaccording to various permutations and combinations of the foregoing.Sub-components can also be implemented as components communicativelycoupled to other components rather than included within parentcomponents (hierarchical). Additionally, it should be noted that one ormore components may be combined into a single component providingaggregate functionality or divided into several separate sub-components,and any one or more middle layers, such as a management layer, may beprovided to communicatively couple to such sub-components in order toprovide integrated functionality. Any components described in thisdisclosure may also interact with one or more other components notspecifically described in this disclosure but known by those of skill inthe art.

In addition, while a particular feature of the subject innovation mayhave been disclosed with respect to only one of several implementations,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Furthermore, to the extent that the terms“includes,” “including,” “has,” “contains,” variants thereof, and othersimilar words are used in either the detailed description or the claims,these terms are intended to be inclusive in a manner similar to the term“comprising” as an open transition word without precluding anyadditional or other elements.

As used in this application, the terms “component,” “module,” “system,”or the like are generally intended to refer to a computer-relatedentity, either hardware (e.g., a circuit), a combination of hardware andsoftware, software, or an entity related to an operational machine withone or more specific functionalities. For example, a component may be,but is not limited to being, a process running on a processor (e.g.,digital signal processor), a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers. Further,a “device” can come in the form of specially designed hardware;generalized hardware made specialized by the execution of softwarethereon that enables the hardware to perform specific function; softwarestored on a computer readable storage medium; software transmitted on acomputer readable transmission medium; or a combination thereof.

Moreover, the words “example” or “exemplary” are used in this disclosureto mean serving as an example, instance, or illustration. Any aspect ordesign described in this disclosure as “exemplary” is not necessarily tobe construed as preferred or advantageous over other aspects or designs.Rather, use of the words “example” or “exemplary” is intended to presentconcepts in a concrete fashion. As used in this application, the term“or” is intended to mean an inclusive “or” rather than an exclusive“or”. That is, unless specified otherwise, or clear from context, “Xemploys A or B” is intended to mean any of the natural inclusivepermutations. That is, if X employs A; X employs B; or X employs both Aand B, then “X employs A or B” is satisfied under any of the foregoinginstances. In addition, the articles “a” and “an” as used in thisapplication and the appended claims should generally be construed tomean “one or more” unless specified otherwise or clear from context tobe directed to a singular form.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media, inwhich these two terms are used in this description differently from oneanother as follows. Computer-readable storage media can be any availablestorage media that can be accessed by the computer, is typically of anon-transitory nature, and can include both volatile and nonvolatilemedia, removable and non-removable media. By way of example, and notlimitation, computer-readable storage media can be implemented inconnection with any method or technology for storage of information suchas computer-readable instructions, program modules, structured data, orunstructured data. Computer-readable storage media can include, but arenot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal that can betransitory such as a modulated data signal, e.g., a carrier wave orother transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or signals refers to asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in one or more signals. By way ofexample, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media. The termarticle of manufacture, as used in this disclosure, is intended toencompass a computer program accessible from any computer-readabledevice or storage media.

What is claimed is:
 1. A system, comprising: a memory; and a processorthat, when executing computer executable components stored in thememory, is configured to: provide a graphical user interface comprisinga search tool that facilitates searching for videos for a first user toshare in a group messaging session that includes the first user and asecond user of a second device using a messaging application; receive,via the search tool, a first user input comprising key terms associatedwith a video that the first user is interested sharing; generate a firstset of data associated with the group messaging session based on the keyterms, wherein the first set of data is generated to include first useractivity data and to exclude second user activity data, wherein thefirst user activity data is inaccessible to the second user andindicates content consumed by the first user, and wherein second useractivity data is inaccessible to the first user and indicates contentconsumed by the second user; identify a set of video items provided by amedia provider based on the first set of data; generate a second set ofdata associated with the group messaging session, wherein the second setof data comprises at least a portion of the second user activity data;identify a subset of the set of video items based on the second set ofdata; update the graphical user interface in which the subset of the setof video items are available for selection by the first user for sharingin the group messaging session; and receive a second user inputcomprising a video item selected by the first user from the subset ofvideo items in the graphical user interface for sharing in the groupmessaging session.
 2. The system of claim 1, wherein the first set ofdata includes: media content provided by the media provider that isshared in the messaging session, third user activity data related tousage of the media provider by the first user, and first endorsementdata that is accessible to the first user and one or more other usersincluded in the group messaging session regarding endorsement, by thefirst user or the one or more other users included in the groupmessaging session, of media content provided by the media provider. 3.The system of claim 2, wherein the second set of data includes: fourthuser activity data that is inaccessible to the first user related tousage of the media provider by the one or more other users included inthe group messaging session, and second endorsement data that isinaccessible to the first user regarding endorsement, by the one or moreother users included in the messaging session, of other media contentprovided by the media provider.
 4. The system of claim 3, wherein theprocessor is further configured to determine usage of the media providerby the one or more other users included in the group messaging sessionbased on activity including watching of videos provided by the mediaprovider, and determine endorsement of media content by the one or moreother users included in the group messaging session based on activityincluding liking a media item, commenting on a media item, sharing amedia item, subscribing to a media item or otherwise providing a signalof endorsement of a media item.
 5. The system of claim 3, wherein theprocessor is further configured to: determine first affinity scores forrespective video items in the set of video items based on the second setof data, wherein the first affinity scores reflect an inferred degree ofaffinity the second user has for the respective video items in the setof video items.
 6. The system of claim 5, wherein the processor isfurther configured to determine the first affinity scores based on athird set of data inaccessible to the one or more other users includedin the group messaging session regarding usage of the media provider andendorsement of video items provided by the media provider by a group ofusers of the media provider with similar media provider usage historiesand video item endorsement histories as the one or more other usersincluded in the group messaging session.
 7. The system of claim 5,wherein the processor is further configured to: rank the video items inthe set of video items based on their respective first affinity scores,and wherein the subset of video items is further recommended based ontheir respective rankings.
 8. The system of claim 5, wherein theprocessor is further configured to: order the video items in the set ofvideo items or the subset based on their respective first affinityscores.
 9. The system of claim of claim 5, wherein the processor isfurther configured to: determine second affinity scores for therespective video items in the set of video items based on the first setof data, wherein the second affinity scores reflect an inferred degreeof affinity the first user has for the respective video items in theset, the system further comprising: rank the video items in the set ofvideo items based on the first affinity scores and second affinityscores associated therewith, recency of the respective video items, andrelatedness of the respective video items to the messaging session, andwherein the recommendation is further based on their respectiverankings.
 10. The system of claim 1, wherein the processor is furtherconfigured to identify the first user activity data and the second useractivity data based on access control parameters set by the second userregarding what users are authorized to access information regardingmedia content, provided by the media provider, the second user played,and media content provided by the media provider that the second userendorsed.
 11. The system of claim 1, wherein the processor is furtherconfigured to: determine second affinity scores for respective videoitems in the set of video items, wherein the second affinity scoresreflect an inferred degree of affinity the first user has for therespective video items in the set.
 12. The system of claim 11, whereinthe processor is further configured to determine the second affinityscores based on a third set of data inaccessible to the first userregarding usage of the media provider and endorsement of video itemsprovided by the media provider by a group of users of the media providerwith similar media provider usage histories and video item endorsementhistories as the first user.
 13. The system of claim 11, wherein theprocessor is further configured to determine the second affinity scoresbased on a third set of data regarding usage and interaction by thefirst user with respective channels that the respective video items inthe set of video items are associated.
 14. The system of claim 11,wherein the processor is further configured to: rank the video items inthe set of video items based on the second affinity scores associatedtherewith, wherein video items with higher affinity scores are rankedhigher than video items with lower affinity scores, and wherein therecommendation is further based on their respective rankings.
 15. Thesystem of claim 1, wherein the first set of data includes key wordsassociated with a topic of the messaging session, and wherein theprocessor is further configured to analyze text shared in the messagingsession to determine the key words.
 16. The system of claim 1, whereinthe first set of data includes one or more query terms associated with aquery for a media item initiated by the first user during the messagingsession.
 17. A method comprising: providing, using a hardware processor,a graphical user interface comprising a search tool that facilitatessearching for videos for a first user to share in a group messagingsession that includes the first user and a second user of a seconddevice using a messaging application; receiving, via the search tool, afirst user input comprising key terms associated with a video that thefirst user is interested sharing; generating, using the hardwareprocessor, a first set of data associated with the group messagingsession based on the key terms, wherein the first set of data isgenerated to include first user activity data and to exclude second useractivity data, wherein the first user activity data is inaccessible tothe second user and indicates content consumed by the first user, andwherein second user activity data is inaccessible to the first user andindicates content consumed by the second user; identifying a set ofvideo items provided by a media provider based on the first set of data;generating a second set of data associated with the group messagingsession, wherein the second set of data comprises at least a portion ofthe second user activity data; identifying a subset of the set of videoitems based on the second set of data; updating the graphical userinterface in which the subset of the set of video items are availablefor selection by the first user for sharing in the group messagingsession; and receiving a second user input comprising a video itemselected by the first user from the subset of video items in thegraphical user interface for sharing in the group messaging session. 18.The method of claim 17, wherein the first set of data includes, mediacontent provided by the media provider that is shared in the messagingsession, third user activity data related to usage of the media providerby the first user, and first endorsement data that is accessible to thefirst user and one or more other users included in the group messagingsession regarding endorsement, by the first user or the one or moreother users included in the group messaging session, of media contentprovided by the media provider.
 19. The method of claim 18, wherein thegenerating the second set of data includes identifying and including inthe second set of data, fourth user activity data that is inaccessibleto the first user related to usage of the media provider by the one ormore other users, and second endorsement data that is inaccessible tothe first user regarding endorsement, by the one or more other users, ofother media content provided by the media provider.
 20. A non-transitorycomputer-readable storage medium comprising computer-executableinstructions that, when executed by a processor, cause the processor toperform a method, the method comprising: providing a graphical userinterface comprising a search tool that facilitates searching for videosfor a first user to share in a group messaging session that includes thefirst user and a second user of a second device using a messagingapplication; receiving, via the search tool, a first user inputcomprising key terms associated with a video that the first user isinterested sharing; generating a first set of data associated with thegroup messaging session based on the key terms, wherein the first set ofdata is generated to include first user activity data and to excludesecond user activity data, wherein the first user activity data isinaccessible to the second user and indicates content consumed by thefirst user, and wherein second user activity data is inaccessible to thefirst user and indicates content consumed by the second user;identifying a set of video items provided by a media provider based onthe first set of data; generating a second set of data associated withthe group messaging session, wherein the second set of data comprises atleast a portion of the second user activity data; identifying a subsetof the set of video items based on the second set of data; updating thegraphical user interface in which the subset of the set of video itemsare available for selection by the first user for sharing in the groupmessaging session; and receiving a second user input comprising a videoitem selected by the first user from the subset of video items in thegraphical user interface for sharing in the group messaging session.